package online.flowerinsnow.minecraft.bukkit.manhunt.manager;

import org.bukkit.entity.Player;
import online.flowerinsnow.minecraft.bukkit.manhunt.core.PlayerTeam;

import java.util.Set;

public interface ITeamManager {
    /**
     * 返回所有逃跑者
     */
    Set<Player> getRunners();
    /**
     * 返回所有猎人
     */
    Set<Player> getHunters();
    /**
     * 返回所有旁观者
     */
    Set<Player> getSpectator();

    /**
     * 返回玩家的阵营
     * @param player 玩家
     */
    PlayerTeam getPlayerTeam(Player player);

    /**
     * 如果玩家是逃跑者 返回true
     * @param player 玩家
     */
    boolean isRunner(Player player);
    /**
     * 如果玩家是猎人 返回true
     * @param player 玩家
     */
    boolean isHunter(Player player);

    /**
     * 如果玩家是旁观者 返回true
     * @param player 玩家
     */
    boolean isSpectator(Player player);

    /**
     * 设置玩家的队伍
     * @param player 玩家
     * @param team 队伍
     */
    void setPlayerTeam(Player player, PlayerTeam team);
    void updateState();
}
